Update heights of building structures
This document contains notes regarding the process of updating heights of building footprints in Martin County.
The end goal is update the heights of building structures in the geojson file.
Exisiting layers and their CRS
| Layer | CRS | Unit |
|---|---|---|
| LiDAR Data | EPSG:6438 | feet |
| Buildings geojson | EPSG:4979 | meters |
Steps
- Read the latitude and longitude for a specific building. These correspond to the building centroid.
- Project them into the
EPSG: 6438projection coordinates. - Get the height of the point (with respect to the geoid) closest to the building centroid. If the ground is at sea level, then the height is above mean sea level. (Refer to the email from Jason Stoker dated June 15th 2022 (cced Deven and Sudhir))
- Make a
lidar_heightcolumn with the heights obtained from the LiDAR data. - ⚠️ Units of distances in the LiDAR data are in feet, which need to be converted to meters, so that a ratio can be calculated.
- Get the ratio of the LiDAR heights to the geojson heights using the formula:
ratio = [lidar_height (ft) *0.3048 (m/ft)] / geojson_height (m))
- Using the new ratios, the heights of the geometries are updated using the
GeoSeries.scaleand specifying the height in thezfactattribute. - Once the height is modified, the updated geojson is written out to disk.